#pragma once
#include <Windows.h>
#include <string>
using namespace std;
class cTString{
private:
	TCHAR * m_szStr;
public:
	cTString();
	cTString(int iSize);
	cTString(const TCHAR *);
	cTString(const cTString& tstr);
	cTString(const char *);
	cTString(const string& str);
	~cTString();
	void ToCharStr(char * pStr,int iMaxCnt);
	void Resize(int iSize);
	void Append(const TCHAR* pStr);
	int FindLastOf(TCHAR tVal);
	cTString SubStr(int iBegin,int iEnd);
	int Length();
	TCHAR* T_Str(){ return m_szStr; }
private:
	void _NewStr(const TCHAR* pStr);
	void _NewStr(const char* pStr);
	void _Resize(int size);
	void _Release();
public:
	void operator=(const cTString& t2);
	BOOL operator==(cTString& t2);
	BOOL operator==(TCHAR* str2);
	void operator+=(cTString& t2);
	cTString operator+(cTString& t2);
	operator TCHAR*();
friend BOOL operator<(const cTString& t1, const cTString& t2);
};

BOOL operator<(const cTString& t1, const cTString& t2);